void QuickSortNonR(int* a, int left, int right)
{
    Stack st;
    StackInit(&st);
    StackPush(&st,right);
    StackPush(&st,left);
    while (!IsEmpty(&st))
    {
        int begin= StackTop(&st);
        StackPop(&st);

        int end = StackTop(&st);
        StackPop(&st);

        int keyi = PartSort1(a, begin, end);
        if (keyi + 1 < end)
        {
            StackPush(&st, end);
            StackPush(&st, keyi+1);

        }

        if (keyi -1>begin)
        {
            StackPush(&st, keyi-1);
            StackPush(&st, begin);

        }
    }
    StackDestroy(&st);

}

